/*
 * IModel.java
 * @author Andrey Tesler
 * Created for DiffView project
 * Created on 4 October 2009, 13:56
 */

package diffview;

import java.util.*;

/**
 * An IModel represents texts of the two versions and correspondences 
 * between them. It consists of two lists: oldLines and newLines. 
 * The lists can contain nulls.<p>
 *
 * If in these lists two string have the same number 
 *  (i.e. oldLines.get(i) and newLines.get(i)), that means that these lines
 *  are matching or that the first line was replaced by the second. <br>
 * If a line oldLines.get(i) was deleted, then newLines.get(i) == null. <br>
 * Similarly, if a line newLines.get(j) was inserted, 
 *  then oldLines.get(j) == null.
 *
 * For example, for input like
 *   1      1
 *   2      2
 *   3      10
 *   4      4
 *   5      5
 *   7      8
 *   8      11
 *
 * the model can be like this:
 *  1       1
 *  2       2
 *  3       10
 *  4       4
 *  5       5
 *  7       null
 *  8       8
 *  null    11
 */
public interface IModel {
    List<String> getOldLines();
    List<String> getNewLines();
    // List<???> getCorrespondences();
}
